home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1996 June / EnigmA AMIGA RUN 08 (1996)(G.R. Edizioni)(IT)[!][issue 1996-06][EARSAN CD VII].iso / earcd / utmisc1 / mrchn227.lha / Mui-Rechnung / TeXwork / DVIprint.rexx < prev    next >
OS/2 REXX Batch file  |  1996-03-03  |  2KB  |  105 lines

  1. /*
  2. ** $VER: DVIprint.rexx 1.0 (02.01.1996)
  3. **
  4. ** ©1996 Stefan Scherer
  5. **
  6. ** ruft den DVI-Printer über ARexx auf.
  7. ** Achtung: Pfad ist nur aktuelles Verzeichnis und "C:"!!
  8. **
  9. ** Hilfreich z.B. für AmiTCP zum Drucken auf Netzwerkdruckern. Durch
  10. ** Setzen der Environmentvariable PRINTREMOTE wird mit lpr gedruckt.
  11. **
  12. ** Parameter: 1  HOFFSET=%ldtruemm
  13. **            2  VOFFSET=%ldtruemm
  14. **            3  FROM
  15. **            4  1
  16. **            5  TO
  17. **            6  1000
  18. **            7  PRINTER
  19. **            8  %s       (Druckername)
  20. **            9  LAND        9  UNI
  21. **            10 UNI         10 off
  22. **            11 off         11 NOLOG
  23. **            12 NOLOG       12 %s.dvi
  24. **            13 %s.dvi
  25. */
  26.  
  27. OPTIONS RESULTS
  28.  
  29.  
  30. REMOTE = Word(MyGetEnv("PRINTREMOTE"),1)
  31. If "" = REMOTE Then
  32.   REMOTE = "0"
  33. Endif
  34.  
  35. /* lies die Parameter, die normalerweise ShowDVI direkt bekommen würde */
  36.  
  37. PARSE ARG Parameters
  38.  
  39.  
  40. Dummy = WORD(Parameters,9)
  41.  
  42. IF Dummy = "LAND" THEN
  43.   DO
  44.   File = WORD(Parameters, 13)
  45.   END
  46. ELSE
  47.   DO
  48.   File = WORD(Parameters, 12)
  49.   END
  50.  
  51. Dir = PRAGMA("DIRECTORY")
  52.  
  53.   If Right(Dir,1)~=':' & Right(Dir,1)~='/' THEN
  54.     Dir = Dir||'/'
  55.  
  56.   say "Starte DVIprint..."
  57.  
  58.   Address COMMAND
  59.  
  60.   If "0" = REMOTE Then
  61.     DO
  62.  
  63.     /* normalerweise nur DVIprint starten */
  64.     'TeX:bin/dviprint '||Parameters
  65.  
  66.     END
  67.   ELSE
  68.     DO
  69.  
  70.     /* convert to PostScript */
  71.     'TeX:bin/dvips '||File
  72.  
  73.     /* print it on network printer */
  74.     PSFile =  Left(File,Length(File)-4)||'.ps'
  75.     'amitcp:bin/lpr -Plp '||PSFile
  76.  
  77.     END
  78. Exit
  79.  
  80.  
  81.  
  82.  
  83. MyGetEnv: PROCEDURE
  84. /*
  85. ** when will ARexx supply GetEnv/SetEnv ?
  86. */
  87. Parse Arg NAME
  88.  
  89. If Open(TEMPFILE,"ENV:"||NAME,'r') Then Do
  90.   GIVES = Readln(TEMPFILE)
  91.   Call Close TEMPFILE
  92. End; Else
  93.   GIVES = ""
  94.  
  95. Return GIVES
  96.  
  97.  
  98.  
  99. MySetEnv: PROCEDURE
  100. Parse Arg NAME,CONTENT
  101.  
  102. Address COMMAND "SetEnv" NAME CONTENT
  103.  
  104. Return
  105.